import {connect} from 'react-redux'
import CountUI from '../../components/Count'
import {createIncrementAction,createDecrementAction,createAsyncIncrementAction} from '../../redux/count_action'
/**
 * 由于 UI组件并不能直接获取redux管理的状态，所以这里的话需要由
 * 容器组价将状态以及操作状态的方法作为参数传递到connect()函数中
 */

 // 该方法返回的UI组件所需要获取的redux管理的状态属性
 function mapStateToProps(state){
     return {count:state}
 }

  // 该方法返回的UI组件所需要的操作对应状态的方法
 function mapDispatchToProps (dispatch){
     return {
        increment: number => dispatch(createIncrementAction(number)),
        decrement: number => dispatch(createDecrementAction(number)),
        incrementAsync: (number,time) => dispatch(createAsyncIncrementAction(number,time))
     }
 }

// 作为参数传入后，UI组件可以通过props属性读取对应的值
export default connect(mapStateToProps,mapDispatchToProps)(CountUI);